#ifndef __OBJECTINSPECTORW_H_
#define __OBJECTINSPECTORW_H_

#include <QWidget>

QT_FORWARD_DECLARE_CLASS(QDesignerObjectInspectorInterface)

class ObjectInspectorW : public QWidget
{
    Q_OBJECT
    Q_CLASSINFO("ClassID", "{e501a9f2-b525-4824-b77c-624cd3d8547a}")
    Q_CLASSINFO("InterfaceID", "{720b39fc-ffe2-4e0d-a8c3-ad108d065364}")
    Q_CLASSINFO("EventsID", "{2772a891-7120-4774-9df3-bb0f47ea6958}")
    Q_CLASSINFO("ToSuperClass", "ObjectInspectorW")

public:
    ObjectInspectorW(QWidget *parent = 0);
    ~ObjectInspectorW();

    QSize minimumSize();

    static ObjectInspectorW *instance();

public Q_SLOTS:
    QString pluginFailureString() const;
    bool initializeJambiPlugins(const QString &jambiBase, const QString &jambiPluginPath, const QString &customWidgetClassPath, const QString &resourcePath, const QString &jvm);
    void initialize();
    void updateCustomWidgetLocation(const QString &path);


protected:
    void resizeEvent(QResizeEvent *event);

private:
    QDesignerObjectInspectorInterface *m_editor;
    uint m_initialized : 1;
    static ObjectInspectorW *m_self;
};

#endif //__OBJECTINSPECTORW_H_
